package algo.A05_其他排序算法;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.Scanner;

public class T03_前k个数 {
    private static ArrayList<Integer> list = new ArrayList();

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int k = sc.nextInt();//前k个数
        int x = sc.nextInt();//开始输入数据
        while (x != -1) {
            solution(x, k);
            System.out.println(list);
            x = sc.nextInt();
        }
    }

    private static void solution(int x, int k) {
        //元素个数不足k时直接添加并排序
        if (list.size() < k) {
            list.add(x);
        } else {
            //x大于等于最大值，不插入
            if (x >= list.get(k - 1)) {
                return;
            } else {
                //x小于最大值，先移除最后一个然后插入
                list.remove(k - 1);
                list.add(x);
            }
        }
        //对list排序
        list.sort(new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o1 - o2;//左-右升序，右-左降序
            }
        });
    }
}
